The invention relates generally to buses for processor based systems, and more particularly to supporting termination on a bus.
Computer systems include a processor, one or more memory devices, and one or more input-output or I/O devices. The processor, the memory devices, and the I/O devices communicate with each other through a bus in the computer system. A bus is a communication link comprising a set of wires or lines connected between the devices listed above. The bus is shared by the devices as they communicate with one another. A bus may also be a set of lines connected between two functional circuits in a single integrated circuit. The bus generally contains a set of control lines and a set of data lines. The control lines carry signals representing requests and acknowledgments and signals to indicate what type of data is on the data lines. The data lines carry data, complex commands, or addresses. A separate set of lines in the bus may be reserved to carry addresses, and these are called address lines. The devices communicate with each other over the bus according to a protocol that governs which devices may use the bus at any one time. The protocol is a set of rules governing communication over the bus that are implemented and enforced by a device that is appointed a bus master. Generally the processor is the bus master, although there may be more than one bus master. Each bus master initiates and controls requests to use the bus.
Two different schemes exist for organizing communication on a bus. A synchronous bus includes a clock pulse in the control lines and is governed by a protocol based on the clock pulse. An asynchronous bus does not rely on a clock pulse to organize communication. Rather, the asynchronous bus is coordinated by a handshaking protocol under which a sender communicates directly with a receiver to transfer data based on a series of mutual agreements. The sender and the receiver exchange a set of handshaking signals over the control lines before, during, and after each data transfer.
Signals are exchanged between the sender and the receiver over the bus in the following manner. The sender includes a separate driver circuit, typically including a tri-state output buffer, connected to each bus line it is to send signals to. Likewise, the receiver has a separate receiver circuit connected to each bus line it is to receive signals from. Typically the receiver circuit is a high impedance input buffer circuit such as an inverter. When the sender sends a signal on a particular line it directs the appropriate driver circuit to bring the line to a suitable voltage, either high or low. The receiver detects the signal in the appropriate receiver circuit to complete the communication. A reflection of the signal can take place if the input impedance of the receiver circuit is different from the characteristic impedance of the line. The discontinuity in the impedance causes the reflection. The signal is reflected back and forth along the line and the reflections must dissipate before a new signal can be sent on the line. This slows the operation of the bus and the computer system.
Signal reflection also causes inter-symbol interference noise (ISI) on the bus. ISI contributes to timing delay variation which limits the frequency at which a bus can transfer signals. It is therefore advantageous to reduce ISI in high frequency bus structures.
A conventional method of reducing reflection on a bus line is to damp or dissipate the reflections with a termination connected to the line. A termination is a dissipating or damping load, typically a resistive device, which has an impedance that is substantially similar to the characteristic impedance of the line. Two types of termination are used. A source termination comprises an impedance placed in a driver circuit connected to the bus line. A parallel termination comprises impedances placed in a driver circuit and a receiver circuit so that impedances are placed at both ends of a bus line. While the implementation of termination on a bus has been successful in reducing signal reflection, the implementation itself may cause problems with the operation and performance of the bus.
There remains a need for termination in high frequency bus structures and ways of supporting the termination to reduce the above-mentioned problems. For these and other reasons there is a need for the present invention.
According to one embodiment of the present invention, data is received from a line, the data is stored in a storage medium, and the data is driven back on the line immediately after the data is received. Advantages of the invention will be apparent to one skilled in the art upon an examination of the detailed description.